學習 Unity 中的 Transform 組件是掌握遊戲開發的基本技能之一。Transform 組件主要用於控制物體的位置、旋轉和縮放。
Transform 組件的基本概念
Position:控制物體在場景中的位置,使用三維坐標(x, y, z)。
Rotation:控制物體的旋轉,通常使用四元數(Quaternion)或歐拉角(Euler Angles)。
Scale:控制物體的大小,使用三維縮放值(x, y, z)。
使用 Transform 組件
在 Unity 中,每個 GameObject 都會自動包含一個 Transform 組件。你可以在檢查器面板中查看和編輯這些屬性。
C# 代碼範例
以下是如何在腳本中使用 Transform 組件的一些基本示例。
位置示例
using UnityEngine;
public class MoveObject : MonoBehaviour
{
void Update()
{
// 每幀向右移動 1 單位
transform.position += new Vector3(1f * Time.deltaTime, 0f, 0f);
}
}
旋轉示例
using UnityEngine;
public class RotateObject : MonoBehaviour
{
void Update()
{
// 每幀旋轉 45 度
transform.Rotate(0f, 45f * Time.deltaTime, 0f);
}
}
縮放示例
using UnityEngine;
public class ScaleObject : MonoBehaviour
{
void Update()
{
// 每幀縮放
transform.localScale += new Vector3(0.1f * Time.deltaTime, 0.1f * Time.deltaTime, 0.1f * Time.deltaTime);
}
}
座標系
世界座標系:全局的坐標系,所有物體的絕對位置。
本地座標系:相對於父物體的坐標系,子物體的位置、旋轉和縮放基於其父物體。
重要函數
Transform.Translate():移動物體。
Transform.Rotate():旋轉物體。
Transform.LookAt():使物體朝向指定的目標。
實用技巧
使用 Time.deltaTime確保物體移動平滑且與幀率無關。
使用 Inspectors 的 Transform 面板來快速調整屬性。